// pages/menu/menu.js
const app = getApp()
var Constant = require('../../utils/constant.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    housingEstate:[],
    show_button: true,
    indicatorDots: true, //是否显示面板指示点
    autoplay: true, //是否自动切换
    interval: 3000, //自动切换时间间隔,3s
    duration: 1000, //  滑动动画时长1s
    bannerData: [
      {
        src: '/images/banner001.jpg',
        id: 0
      },
      {
        src: '/images/banner002.jpg',
        id: 1
      }
    ],
    currentBannerIndex: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.showLoading({
      title: '登录中',
    })
    var that = this;
    wx.login({
      success: function (r) {
        var code = r.code;//登录凭证
        console.log('登录成功'+code)
        if (code) {
          //2、调用获取用户信息接口
          wx.getUserInfo({
            success: function (res) {
              console.log({ encryptedData: res.encryptedData, iv: res.iv, code: code })
              //3.请求自己的服务器，解密用户信息 获取unionId等加密信息
              wx.request({
                url: Constant.BASEURL + Constant.USER_LOGIN_URL + '&encryptedData=' + res.encryptedData
                  + '&iv=' + res.iv + '&code=' + code,//自己的服务接口地址
                method: 'GET',
                // header: {
                //   'content-type': 'application/x-www-form-urlencoded'
                // },
                // data: { encryptedData: res.encryptedData, iv: res.iv, code: code },
                success: function (res) {
                  console.log(res.data)
                  app.globalData.openid = res.data.openId;
                  //4.解密成功后 获取自己服务器返回的结果
                  if (res.data.status == 1) {
                    var message = ''
                    wx.request({
                      url: Constant.BASEURL + Constant.PHONE_EXIST_URL + "&openid=" + res.data.openId,
                      method: 'GET',
                      success: function (res) {
                        console.log(res.data)
                       var isPass = 0;
                        app.globalData.userLocalList = [];
                        app.globalData.userOrgCodelList = [];
                        if(res.data.length>0){
                          for (var i = 0; i < res.data.length; i++) {
                            app.globalData.username = res.data[i].personname;
                            app.globalData.idcard = res.data[i].personidcardno;
                            // app.globalData.userLocalList[i] = res.data[i].unitno
                            // app.globalData.userOrgCodelList[i] = res.data[i].orgCode
                            if (res.data[i].personcheck == 'Y') {
                              app.globalData.userLocalList.push(res.data[i].unitno)
                              app.globalData.userOrgCodelList.push(res.data[i].orgCode)
                              isPass ++;
                              // Constant.STATE_USER = Constant.STATE_USER_VERIFYED;
                            }
                          }
                          if(isPass > 0){
                            Constant.STATE_USER = Constant.STATE_USER_VERIFYED;
                          }else{
                            Constant.STATE_USER = Constant.STATE_USER_REGISTERING;
                          }
                        }else{
                          //用户未注册
                          that.setData({
                            show_button: true,
                          })
                          Constant.STATE_USER = Constant.STATE_USER_NONE;
                        }


                        app.globalData.userInfoList = res.data;

                        // if (res.data.respCode != -1) {

                        //   for(var i=0;i<res.data.length;i++){
                        //     app.globalData.userLocalList[i] = res.data[i].unitno
                        //     app.globalData.userOrgCodelList[i] = res.data[i].orgCode
                        //   }
                        //   console.log("aaa", app.globalData.userOrgCodelList)
                        //   if (res.data.respCode == 0) {
                        //     message = "该用户已经审核通过";
                        //     that.setData({
                        //       show_button: false,
                        //     })
                        //     // app.globalData.username = res.data.data.personname;
                        //     // app.globalData.phonenumber = res.data.data.personphoneno;
                        //     // app.globalData.personpic = Constant.BASEURL + '/' + res.data.data.personphoto;
                        //     // app.globalData.unitno = res.data.data.unitno;
                        //     // app.globalData.idcard = res.data.data.personidcardno;
                        //     // app.globalData.userType = res.data.data.persontype;
                        //     // console.log(app.globalData.username)
                        //     // Constant.STATE_USER = Constant.STATE_USER_VERIFYED;
                        //   }
                        //   //用户已经被注册为亲属
                        //   else if (res.data.respCode == 2) {
                        //     message = "该用户已被注册为亲属";
                        //     that.setData({
                        //       show_button: false,
                        //     })
                        //     // app.globalData.username = res.data.data.personname;
                        //     // app.globalData.phonenumber = res.data.data.personphoneno;
                        //     // app.globalData.personpic = Constant.BASEURL + '/' + res.data.data.personphoto;
                        //     // app.globalData.unitno = res.data.data.unitno;
                        //     // app.globalData.idcard = res.data.data.personidcardno;
                        //     // app.globalData.userType = res.data.data.persontype;
                        //     // console.log(app.globalData.username)
                        //     Constant.STATE_USER = Constant.STATE_USER_ISRELATIVES;
                        //   } 

                        //   //  else {
                        //   //   message = "业主已注册正在审核中.....";
                        //   //   wx.showModal({
                        //   //     title: '提示',
                        //   //     content: '业主已注册正在审核中.....',
                        //   //     showCancel: false,
                        //   //   })
                        //   //   Constant.STATE_USER = Constant.STATE_USER_REGISTERING;
                        //   // }
                        //   app.globalData.userInfoList = res.data;
                        // } 
                        
                        // else {
                        //   that.setData({
                        //     show_button: true,
                        //   })
                        //   Constant.STATE_USER = Constant.STATE_USER_NONE;
                        // }
                        wx.hideLoading();
                      },
                      fail: function (e) {
                        console.log('系统错误', e.errMsg)
                        wx.hideLoading();
                        wx.showToast({
                          title: '系统错误',
                          icon: 'none',
                        })
                      }
                    })
                  } else {
                    console.log('解密失败')
                    wx.hideLoading();
                    Constant.STATE_USER = Constant.STATE_OPENID_ERROR;
                  }
                  
                },
                fail: function (e) {
                  console.log('系统错误',e.errMsg)
                  Constant.STATE_USER = Constant.STATE_OPENID_ERROR;
                  wx.hideLoading();
                  wx.showToast({
                    title: '系统错误',
                    icon: 'none',
                  })
                }
              })
            },
            fail: function (e) {
              wx.hideLoading();
              console.log('获取用户信息失败',e.errMsg)
              wx.showModal({
                title: '提示',
                content: '请在我的界面点击登录按钮进行登录',
                success: function (e) {
                  if (e.confirm) {
                    console.log('用户点击了确定')
                    wx.switchTab({
                      url: '../index/index',
                    })
                  } else {
                    console.log('用户点击了取消')
                  }
                }
              })
            }
          })

        } else {
          console.log('获取用户登录态失败！' + r.errMsg)
        }
      },
      fail: function () {
        console.log('登陆失败')
      }
    })

    
    
    if (typeof (options.org_code) == "undefined"){
      console.log("undefined参数值：", app.globalData.orgCode)
    }else{
      app.globalData.orgCode = decodeURIComponent(options.org_code)//参数二维码传递过来的参数
      //app.globalData.orgCode = scene;
      console.log("参数值：", app.globalData.orgCode)
    }
    // var querycode = options.query.departcode // 参数二维码传递过来的场景参数
    // if (querycode) {
    //   this.setData({
    //     departcode: querycode,
    //   })
    // }
    let images = [];
    wx.request({
      url: Constant.BASEURL + Constant.BANNER,
      success: function(res){
        console.log("轮播图：",res.data.obj)
        for (var i = 0; i < res.data.obj.length; i++) {
          var id = res.data.obj[i].id;
          var url = Constant.BASEURL + "/" + res.data.obj[i].pictures;
          images.push({ "src": url, 'id': id })
        }
        that.setData({
          bannerData: images
        })
      },
      fail: function(res){
        console.log(res.errMsg)
      }
    })
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    //加载小区数据
    getHousingEstate(this);
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if(interval){
      console.log("取消定时onShow")
      clearInterval(interval)
    }
    const that = this;
    interval = setInterval(function () {
      console.log("定时调用获取人员状态onShow")
      checkUserStatus(that);
    }, 5000) //循环间隔 单位ms
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },
  onEntranceRegister: function(){

    if (Constant.STATE_USER == Constant.STATE_OPENID_ERROR) {
      wx.showModal({
        title: '提示',
        content: '系统错误，暂时无法注册',
        showCancel: false,
      })
      return;
    }

    if (Constant.STATE_USER == Constant.STATE_USER_ISRELATIVES) {
      wx.showModal({
        title: '提示',
        content: '你已被注册为亲属',
        showCancel: false,
      })
      return;
    }


    wx.navigateTo({
      url: '../registration/entrance',
    })
  },
  onLongTimeRegister: function(){
    console.log("业主状态", Constant.STATE_USER_ISRELATIVES)
    if (Constant.STATE_USER == Constant.STATE_USER_ISRELATIVES) {
      wx.showModal({
        title: '提示',
        content: '你已经是亲属',
        showCancel: false,
      })
      return;
    }
    
    else if (Constant.STATE_USER != Constant.STATE_USER_VERIFYED) {
      wx.showModal({
        title: '提示',
        content: '业主暂未通过审核，无法添加亲属',
        showCancel: false,
      })
      return;
    }

    wx.showLoading({
      title: '请稍后',
    })
    wx.request({
      url: Constant.BASEURL + Constant.CHECK_LONG_NUM + "&openid=" + app.globalData.openid,
      success: function(res){
        console.log(res.data)
        wx.hideLoading();
        if(res.data.respCode == -1){
          wx.showModal({
            title: '提示',
            content: '添加亲属已达上限',
            showCancel: false,
          })
        }else{
          wx.navigateTo({
            url: '../registration/longvisitor',
          })
        }
      },
      fail: function(){
        wx.hideLoading();
        wx.showToast({
          title: '系统错误',
          icon: 'none',
        })
      }
    })
    
  },
  onVisitorRegister: function(){
    if (Constant.STATE_USER == Constant.STATE_USER_VERIFYED){
      wx.navigateTo({
        url: '../registration/visitor?' +app.globalData.childcheck,
      })
    }
     else {
        wx.showModal({
          title: '提示',
          content: '业主暂未通过审核，无法添加访客',
          showCancel: false,
        })
        return;
    };
  },
  //切换小区
  bindSelectXiaoQu:function(e){
    console.log(e);
    var openid = app.globalData.openid;
    var orgCode = this.data.housingEstate[e.detail.value].org_code;
    console.log("选择完成：" + openid + "code =" + orgCode);
  }
})

var interval;

function checkUserStatus(that){
  if (Constant.STATE_USER == Constant.STATE_OPENID_ERROR) {
    return;
  }
  var message = ''
  wx.request({
    url: Constant.BASEURL + Constant.PHONE_EXIST_URL + "&openid=" + app.globalData.openid,
    method: 'GET',
    success: function (res) {
      console.log(res.data)
      var isPass = 0;
      app.globalData.userLocalList = [];
      app.globalData.userOrgCodelList = [];
      if(res.data.length > 0){
        for (var i = 0; i < res.data.length; i++) {
          app.globalData.username = res.data[i].personname;
          app.globalData.idcard = res.data[i].personidcardno;
          // app.globalData.userLocalList[i] = res.data[i].unitno
          // app.globalData.userOrgCodelList[i] = res.data[i].orgCode
          if (res.data[i].personcheck == 'Y') {
            app.globalData.userLocalList.push(res.data[i].unitno)
            app.globalData.userOrgCodelList.push(res.data[i].orgCode)
            isPass++;
            // Constant.STATE_USER = Constant.STATE_USER_VERIFYED;
          }
        }
        if (isPass > 0) {
          Constant.STATE_USER = Constant.STATE_USER_VERIFYED;
        } else {
          Constant.STATE_USER = Constant.STATE_USER_REGISTERING;
        }
      }
      else{
        //用户未注册
       that.setData({
          show_button: true,
        })
        Constant.STATE_USER = Constant.STATE_USER_NONE;
      }

      app.globalData.userInfoList = res.data;

      // wx.hideLoading();
      // if (res.data.respCode != -1) {
      //   if (res.data.respCode == 0) {
      //     message = "该用户已经审核通过";
      //     that.setData({
      //       show_button: false,
      //     })
      //     // app.globalData.username = res.data.data.personname;
      //     // app.globalData.phonenumber = res.data.data.personphoneno;
      //     // app.globalData.personpic = Constant.BASEURL + '/' + res.data.data.personphoto;
      //     // app.globalData.unitno = res.data.data.unitno;
      //     // app.globalData.idcard = res.data.data.personidcardno;
      //     // app.globalData.userType = res.data.data.persontype;
      //     // app.globalData.childcheck = res.data.data.childcheck;
      //     // console.log(app.globalData.username)
      //     Constant.STATE_USER = Constant.STATE_USER_VERIFYED;
      //   }

      //   //用户已经被注册为亲属
      //    else if (res.data.respCode == 2) {
      //     message = "该用户已被注册为亲属";
      //     that.setData({
      //       show_button: false,
      //     })
      //     // app.globalData.username = res.data.data.personname;
      //     // app.globalData.phonenumber = res.data.data.personphoneno;
      //     // app.globalData.personpic = Constant.BASEURL + '/' + res.data.data.personphoto;
      //     // app.globalData.unitno = res.data.data.unitno;
      //     // app.globalData.idcard = res.data.data.personidcardno;
      //     // app.globalData.userType = res.data.data.persontype;
      //     // console.log(app.globalData.username)
      //     Constant.STATE_USER = Constant.STATE_USER_ISRELATIVES;
      //   } 

      //   // else {
      //   //   message = "业主已注册正在审核中.....";
      //   //   Constant.STATE_USER = Constant.STATE_USER_REGISTERING;
      //   // }
      //   app.globalData.userInfoList = res.data;
      // } else {
      //   that.setData({
      //     show_button: true,
      //   })
      //   Constant.STATE_USER = Constant.STATE_USER_NONE;
      // }

    },
    fail: function (res) {
      console.log(res.errMsg)
      wx.hideLoading();
      wx.showToast({
        title: '系统错误',
        icon: 'none'
      })
    }
  })
}

//获取小区列表数据
function getHousingEstate(that){
  wx.request({
    url: Constant.BASEURL + Constant.ALLLIST_URL,
    method: 'GET',
    success: function (res) {
      console.log("aaaaaaaaaaaaaa", res.data.data.departlist)
      that.setData({
        housingEstate: res.data.data.departlist
      })
    },fail:function(res){
      console.log("请求失败", res.errMsg)
    }
  })
}
